OVERVIEW of 3.0.1 C/C++ SDK  8/17/1999

In addition to brand new calls and routines introduced with this 3.0.1 version of the API, several 'BP' routines have been added to existing calls.
 
VCLINK32.DLL

A C++ project may access the Visual CADD DLLs in one of two ways: implicit or explicit linking.

With implicit linking, the C++ project uses header files (*.h) to provide function prototypes of the external functions and links a LIB file to resolve those external functions into the respective external DLL.  The VCLink32.DLL provides the interface to the Visual CADD DLLs when using implicit linking.

To support implicit linking, the C++ SDK includes the necessary header files, VCLink32.DLL, and two LIB files, VCLinkMS.LIB (for Microsoft C++) and VCLinkBC.LIB (for Borland C++).  These two LIB files are required by most of the IMSI code samples at www.VcaddToday.com.  Other samples (the tutorials located on www.visualcadd.org, for example) may use a file named VCLink32.LIB.  If you require the VCLink32.LIB file for any reason, simply make a copy of the VCLinkMS.LIB file and rename it to VCLink32.LIB. Content is exactly the same.

When using implicit linking, the developer is responsible for ensuring that the end-user has the up-to-date VCLink32.DLL when their product is distributed. The updated VCLink32.DLL shipped with this C++ SDK was not shipped with the end-user Visual CADD v3.0.1 patch. 

With explicit linking, the C++ project uses calls to the Win32 API functions of LoadLibrary, GetProcAddress, and FreeLibrary, to load the Visual CADD DLLs and make explicit calls to the functions contained therein.  Neither VCLink32.DLL nor the LIB files are required for this approach.  However, the source code implementation of the required Win32 API function calls is required.

If a developer wants to use explicit linking, he should download the VCLink32.zip SDK project, which contains the necessary source code implementation (the .cpp files) for explicit linking.  This project also allows the developer to modify or customize VCLink32.DLL, if desired.

THE CmdID and DlgID FILES 

The files CmdID.h and DlgID.h define constants used internally by Visual CADD.  Most of these constants are related to the tool ID or dialog ID numbers associated with VCADD tools and dialogs and the resource IDs of dialog controls.  The tool or dialog IDs are returned by various VCADD API functions, such as VCGetToolID, and these constants can be used to identify the values returned.  Also, certain Win32 API functions related to dialogs pass or return dialog control resource IDs, such as GetDlgItem, and these constants can be used to identify the control.

ALERTS.TXT

Alerts.txt is a text file containing function prototypes for all of the developer-defined callback functions required by VCSetAlertAppDllEx.  The file is written in the form of a C++ header file (*.h) which the developer may copy-and-paste into a C++ project to define and customize his own callback functions.  In addition, comment statements in the file make the file readable as a standard readme.txt file and provide descriptions of parameters, return values, how and when they are called by Visual CADD, etc.  Thus, Alerts.txt supplements the information contained in the API Help file.

LISTING OF NEW CALLS

//additions to VCMain32.DLL (vcmain32.h)
VCGetDisplayPointString
VCGetDisplayAngleString
VCGetDisplayLengthString
VCGetSelectionCount
VCGetCommandString
VCSetCurrWorldByHWND
VCFirstWorld
VCNextWorld
VCOnActivateView
VCScreenToWorld2D
VCScrollStart
VCScrollEnd
VCOnScroll
VCOnTimerRunningSnap
VCLayerSelect
VCSetCursorEx
VCGetTextUseTextLayer
VCSetTextUseTextLayer
VCGetProgramPath
VCGetManualEntryMode
VCApplyLayerGroupByIndex
VCApplyLayerGroupByName
VCGetLayerGroupName
VCGetLayerGroupIndex
VCGetLayerGroupCount
VCAddLayerGroup
VCDeleteLayerGroup
VCGetLayerGroupLayer
VCSetLayerGroupLayer
VCGetLayerPrintable
VCSetLayerPrintable

//additions to VCDlg32.DLL (vcdlg32.h)
VCGetDialogFromId

//additions to VCTool32.DLL (VCTool32.h)
VCCopyToLayer
VCDestroyContextMenu
VCGetCurrentToolContextMenu
VCMergePolygonsTool
VCMoveToLayer
VCSplitPolygonTool

//additions to VCLink32.DLL (VCLink32.h)
VCCreateSymbolFromSelectionBP
VCDigPointBP
VCGetDatumBasePtBP
VCMouseMoveWorldPointBP
VCPaintBP
VCScreenToWorld2DBP
VCSetDatumBasePtBP
VCSetScaleXYBP
VCSetSymScaleBP
